package com.tiancheng.trade.settlement.vo.settlement.api;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @Author: likailun
 * @Description: 添加清分规则
 * @Date: create in 2022/3/18 4:30 下午
 */

@Data
public class OpenAddRuleVO {

    @NotEmpty(message = "业务场景不允许为空")
    @JsonProperty("order_source")
    private String orderSource;

    /**
     * 商户编号
     */
    @NotEmpty(message = "商户编号不允许为空")
    @JsonProperty("merchant_code")
    private String merchantCode;

    /**
     * 商户名称
     */
    @NotEmpty(message = "商户名称不允许为空")
    @JsonProperty("merchant_name")
    private String merchantName;

    /**
     * 产品编号
     */
    @NotEmpty(message = "交易中台产品编号不允许为空")
    @JsonProperty("product_code")
    private String productCode;

    /**
     * 产品单价
     */
    @JsonProperty("product_price")
    private Integer productPrice;

    /**
     * 清分周期类型
     */
    @NotEmpty(message = "清分周期类型不允许为空,1:按天 2:按月")
    @JsonProperty("clearing_cycle_mode")
    private String clearingCycleMode;

    /**
     * 清分周期值
     */
    @NotNull(message = "清分周期值")
    @JsonProperty("clearing_cycle_value")
    private Integer clearingCycleValue;

    /**
     * 清分周期扩展值
     */
    @JsonProperty("clearing_cycle_value_ext")
    private Integer clearingCycleValueExt;

    /**
     * 清分规则
     */
    @NotEmpty(message = "清分规则不允许为空,1:百分比 2:平台固定金额 3:商户金额")
    @JsonProperty("clearing_rule")
    private String clearingRule;

    /**
     * 清分-平台应收-百分比
     */
    @JsonProperty("platform_pre")
    private BigDecimal platformPre;

    /**
     * 清分-商户应收-百分比
     */
    @JsonProperty("merchant_pre")
    private BigDecimal merchantPre;

    /**
     * 清分-平台应收-固定金额
     */
    @JsonProperty("platform_fix")
    private Integer platformFix;

    /**
     * 清分-商户应收-固定金额'
     */
    @JsonProperty("merchant_fix")
    private Integer merchantFix;

}
